package com.yang.service;

import com.yang.domain.dto.Result;
import com.yang.domain.dto.UserDTO;
import com.yang.domain.entity.Follow;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;


/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author yang
 * @since 2022-10-22
 */
public interface IFollowService extends IService<Follow> {
    /**
     * 对传递过来的用户id执行关注或者取关操作
     * @param followUserId 用户id
     * @param isFollow 关注还是取关
     */
    void follow(Long followUserId, Boolean isFollow);

    /**
     * 判断当前登录的用户是否关注了
     * @param followUserId 被查询的用户id
     * @return 是否关注
     */
    boolean isFollow(Long followUserId);

    /**
     * 共同关注功能
     * 判断当前用户和传递过来的user用户通过redis的set数据结构
     * 去求关注的交集
     * @param followUserId 用户id
     * @return 共同关注的用户id
     */
    List<UserDTO> followCommons(Long followUserId);
}
